home *** CD-ROM | disk | FTP | other *** search
- #ifndef AVAL_CONFIG
- #define AVAL_CONFIG
-
- -- THIS FILE IS WRONG FOR pSather and VALUE TYPES!
-
- #ifdef PP
- #undef PP
- #endif
-
- #define PP no_pre,no_post
-
- AVAL_ASIZE: PP,reads "@0::asize",
- var "@r $$;",exec "$$=VASIZE(@0);" "$$";
- AVAL_AGET: PP,reads "@0::[]" "@0::asize",
- var "@r $$;",
- exec "$$=@(r)VARR(@0,$0,$1);" "$$";
- AVAL_ASET: PP,writes "@0::[]",reads "@0::asize",
- var "@r $$;",
- exec "$$=$0;VSARR(@0,$$,$1,@(2)$2);" "$$";
- AVAL_ACOPY: PP,reads "@0::[]" "@0::asize",writes "@0::[]" "@0::asize",
- var "@r $$;",
- exec "$$=$0;AVALACOPY(@0,$$,$1);" "$$";
- AVAL_ACOPY_BEG: PP,reads "@0::[]" "@0::asize",writes "@0::[]" "@0::asize",
- var "@r $$;",
- exec "$$=$0;AVALACOPYB(@0,$$,$1,$2);" "$$";
- AVAL_ACOPY_BEG_NUM: PP,reads "@0::[]" "@0::asize",writes "@0::[]" "@0::asize",
- var "@r $$;",
- exec "$$=$0;AVALACOPYBN(@0,$$,$1,$2,$3);" "$$";
- AVAL_ACOPY_BEG_NUM_SRCBEG: PP,reads "@0::[]" "@0::asize",writes "@0::[]" "@0::asize",
- var "@r $$;",
- exec "$$=$0;AVALACOPYBNS(@0,$$,$1,$2,$3,$4);" "$$";
-
- AVAL_AELTB: reads "@0::[]" "@0::asize",
- var "INT $$br;",
- init "$$br=VASIZE(@0);",
- break "$$br",
- temp "@r a$$;",
- iter "a$$=VARR(@0,$0,$#);" "a$$";
- AVAL_AELT_BEGB: reads "@0::[]" "@0::asize",
- var "INT $$c,$$s;",
- temp "@r a$$;",
- init "$$c=$1-1;$$s=VASIZE(@0);",
- iter "if(++$$c>=$$s) @@;"
- "a$$=VARR(@0,$0,$$c);" "a$$";
- AVAL_AELT_BEG_NUMB: reads "@0::[]" "@0::asize",
- var "INT $$c,$$m;",
- temp "@r a$$;",
- init "$$c=$1-1;$$m=$1+$2;",
- iter "if(++$$c>=$$m) @@;"
- "a$$=VARR(@0,$0,$$c);" "a$$";
- AVAL_AELT_BEG_NUM_STEPB: reads "@0::[]" "@0::asize",
- var "INT $$c,$$m;",
- temp "@r a$$;",
- init "$$c=$1;$$m=$1+$2*$3;",
- iter "if($3>=0&&$$c>=$$m||$3<0&&$$c<=$$m) @@;"
- "a$$=VARR(@0,$0,$$c);" "$$c+=$3;" "a$$";
- AVAL_AINDB: reads "@0::asize",
- var "INT $$br;",
- init "$$br=VASIZE(@0);",
- break "$$br",
- temp "@r r$$;",
- iter "r$$=$#;" "r$$";
-
- #endif
-